GtkQuery: Make API follow GTK+ conversions
authorMatthias Clasen <mclasen@redhat.com>
Wed, 22 Jul 2015 00:39:29 +0000 (20:39 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Wed, 22 Jul 2015 00:39:29 +0000 (20:39 -0400)
We generally have const getters for strings, and the two users
of this API were promptly leaking the (unexpected) copy they
got from gtk_query_get_location and gtk_query_get_text.

gtk/gtkfilechooserwidget.c
gtk/gtkquery.c
gtk/gtkquery.h
gtk/gtksearchenginetracker.c

index cafb5ab4186bd3bfd04d0fa56a9671393e07ab01..030d95d94c989c5e6b4f84be037bdfd85607360b 100644 (file)
@@ -7272,14 +7272,13 @@ search_setup_widgets (GtkFileChooserWidget *impl)
   /* if there already is a query, restart it */
   if (priv->search_query)
     {
-      gchar *query;
+      const gchar *query;
 
       query = gtk_query_get_text (priv->search_query);
       if (query)
         {
           gtk_entry_set_text (GTK_ENTRY (priv->search_entry), query);
           search_start_query (impl, query);
-          g_free (query);
         }
       else
         {
index a69b27860649d73dc9611180503422e505ebd477..bc81b7da3ee2dccebfac0c047ad0de2d2db41744 100644 (file)
@@ -70,10 +70,10 @@ gtk_query_new (void)
 }
 
 
-gchar *
+const gchar *
 gtk_query_get_text (GtkQuery *query)
 {
-  return g_strdup (query->priv->text);
+  return query->priv->text;
 }
 
 void
@@ -87,10 +87,10 @@ gtk_query_set_text (GtkQuery    *query,
   query->priv->words = NULL;
 }
 
-gchar *
+const gchar *
 gtk_query_get_location (GtkQuery *query)
 {
-  return g_strdup (query->priv->location_uri);
+  return query->priv->location_uri;
 }
 
 void
index dd3801228a0eda4f18bdd3a113cbd13da033196f..50275059150dda24850ca3a2b0b10c7a82ed72c7 100644 (file)
@@ -49,20 +49,20 @@ struct _GtkQueryClass
   GObjectClass parent_class;
 };
 
-GType     gtk_query_get_type       (void);
+GType        gtk_query_get_type       (void);
 
-GtkQuerygtk_query_new            (void);
+GtkQuery    *gtk_query_new            (void);
 
-gchar*    gtk_query_get_text       (GtkQuery    *query);
-void      gtk_query_set_text       (GtkQuery    *query,
-                                    const gchar *text);
+const gchar *gtk_query_get_text       (GtkQuery    *query);
+void         gtk_query_set_text       (GtkQuery    *query,
+                                       const gchar *text);
 
-gchar*    gtk_query_get_location   (GtkQuery    *query);
-void      gtk_query_set_location   (GtkQuery    *query,
-                                    const gchar *uri);
+const gchar *gtk_query_get_location   (GtkQuery    *query);
+void         gtk_query_set_location   (GtkQuery    *query,
+                                       const gchar *uri);
 
-gboolean  gtk_query_matches_string (GtkQuery    *query,
-                                    const gchar *string);
+gboolean     gtk_query_matches_string (GtkQuery    *query,
+                                       const gchar *string);
 
 G_END_DECLS
 
index 6c9032451300befedc19e951a9ca09238b3c7f9e..29edb7f207ca32e69aef73e79b9ed50dc1adee32 100644 (file)
@@ -320,8 +320,8 @@ static void
 gtk_search_engine_tracker_start (GtkSearchEngine *engine)
 {
   GtkSearchEngineTracker *tracker;
-  gchar *search_text;
-  gchar *location_uri;
+  const gchar *search_text;
+  const gchar *location_uri;
   GString *sparql;
   gboolean recursive;
 
@@ -386,7 +386,6 @@ gtk_search_engine_tracker_start (GtkSearchEngine *engine)
   get_query_results (tracker, sparql->str, query_callback, g_object_ref (tracker));
 
   g_string_free (sparql, TRUE);
-  g_free (search_text);
 }
 
 static void